home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Games Collection 1 / software vault.zip / software vault / CDR10 / YICN23.ZIP / DEMO / SOURCE.ZIP / AMAPDEMO.CPP next >
C/C++ Source or Header  |  1993-02-28  |  2KB  |  73 lines

  1. #include "xlib.h"
  2. #include "xtext.h"
  3. #include "xrect.h"
  4. #include <conio.h>
  5. #include <stdlib.h>
  6. #include <stdio.h>
  7. #include <dos.h>
  8. #include "animap.h"
  9. #include "actor.h"
  10. #include "event.h"
  11. #include "factor.h"
  12. #include "fevent.h"
  13. #include "yakPal.h"
  14. #include "yakkeys.h"
  15.  
  16.  
  17. #define FLOORHEIGHT 40
  18. void getKeys(factor & thisFactor)
  19. {
  20.   int xMom =0, yMom=0;
  21.   if (keyboard.keys[yakKeyboard::upArrow])
  22.     yMom -= 4;
  23.   if (keyboard.keys[yakKeyboard::downArrow])
  24.     yMom +=4;
  25.   if (keyboard.keys[yakKeyboard::leftArrow])
  26.     xMom -=4;
  27.   if (keyboard.keys[yakKeyboard::rightArrow])
  28.     xMom +=4;
  29.   if (xMom || yMom)
  30.     thisFactor.addCommand(scriptNode::fineMoveRel, 0,0,xMom,yMom);
  31.   else
  32.     thisFactor.addCommand(scriptNode::doNothing, 0,0,0,0);
  33. }
  34.  
  35. void amapDemo(void)
  36. {
  37.   keyboard.install();
  38.   yakLib myYakLib("yakdemo");
  39.   randomize();
  40.   x_set_mode(0, 380);
  41.   x_set_splitscreen(125);
  42.   x_set_doublebuffer(260);
  43.   yakPalette myYakPalette("standard.ypl", &myYakLib);
  44.   myYakPalette.put();
  45.   animap backgroundMap(4, 24, 25, 25);
  46.   backgroundMap.loadIcon(0, "grass", &myYakLib);
  47.   backgroundMap.loadIcon(1, "valley", &myYakLib);
  48.   backgroundMap.loadIcon(2, "water", &myYakLib);
  49.   backgroundMap.loadIcon(3, "mountain", &myYakLib);
  50.   backgroundMap.randomize();
  51.   factor myActor;
  52.   factor::loadFactor(0,"", "", "", "", "lgrumjug", "cgrumjug", "grumjug", "", "", "", &myYakLib);
  53.   myActor.assignIcon(0, factor::twoFace);
  54.   myActor.mapX = myActor.mapY = myActor.squareX = myActor.squareY = 10;
  55.   myActor.mymap = &backgroundMap;
  56.   myActor.put(myActor.mapX, myActor.mapY);
  57.   backgroundMap.showXY(myActor.mapX-4,myActor.mapY-2, 48, 48, 15,7, HiddenPageOffs);
  58.   x_page_flip(24 + myActor.squareX, 24+myActor.squareY);
  59.   backgroundMap.showXY(myActor.mapX-4,myActor.mapY-2, 48, 48, 15,7, HiddenPageOffs);
  60.   while (!keyboard.keys[yakKeyboard::escape])
  61.   {
  62.     backgroundMap.drawXY(myActor.mapX-6,myActor.mapY-3, 48, 48, 15,7, HiddenPageOffs);
  63.     x_page_flip(24 + myActor.squareX, 24+myActor.squareY);
  64.     x_bgprintf(10,10,SplitScrnOffs,15,20,"MapX %d***Mapy %d    ", myActor.mapX, myActor.mapY);
  65.     x_bgprintf(10,30,SplitScrnOffs,15,20,"SquX %d***Squy %d    ", myActor.squareX, myActor.squareY);
  66.     x_bgprintf(10,50,SplitScrnOffs,15,20,"lasX %d***lasy %d    ", myActor.lastMapX, myActor.lastMapY);
  67.     backgroundMap.advance();
  68.     getKeys(myActor);
  69.   }
  70.   keyboard.remove();
  71.   factor::clearFactor(0);
  72. }
  73.